Aula 21 - Continuando (mais) sobre o pacote flextable

Módulo 2: Trabalhando com dados

Carolina Musso

PROFESP, DEMSP, MS

Esta semana

Aula 19 - Unindo bases de dados

Funções join()

Aula 20 - Trabalhando com texto (strings)

O pacote stringR e RegEx

Aula 21 - Tabela

Mais sobre o pacote flextable: título e fontes

Leituras para aprofundamento

Dados de Hoje

  • Incrementando nosso código
 letalidade_Brasil_Italia <- dados_covid %>% 
  filter(Country=="Brazil"|Country=="Italy", 
         New_cases>0) %>% 
  separate(Date_reported, c("Ano", "Mês", "Dia")) %>% 
  mutate(Country=str_replace(Country, "Brazil", "Brasil"),
         Country=str_replace(Country, "Italy", "Itália")) %>% 
  mutate(letalidade_diaria = New_deaths/New_cases*100)%>% 
  group_by(Ano, Country) %>% 
  summarise(letalidade_media = mean(letalidade_diaria), 
            desvio_padrao = sd(letalidade_diaria ),
            Casos_maximo = max(New_cases),
            Obitos_maximo = max(New_deaths)) %>% 
  ungroup() %>% 
  mutate_if(is.numeric, ~format(., big.mark=".", decimal.mark=",", digits=2)) 
  

 letalidade_Brasil_Italia
# A tibble: 8 × 6
  Ano   Country letalidade_media desvio_padrao Casos_maximo Obitos_maximo
  <chr> <chr>   <chr>            <chr>         <chr>        <chr>        
1 2020  Brasil  3,17             2,06          " 70.574"    "1.595"      
2 2020  Itália  7,81             8,48          " 40.902"    "  993"      
3 2021  Brasil  2,85             0,89          "150.106"    "4.249"      
4 2021  Itália  1,91             1,44          "127.000"    "  718"      
5 2022  Brasil  0,70             0,53          "298.408"    "1.523"      
6 2022  Itália  0,31             0,19          "228.123"    "  469"      
7 2023  Brasil  0,78             0,90          " 59.994"    "  472"      
8 2023  Itália  0,97             0,51          " 27.102"    "  150"      

flextable

flextable(letalidade_Brasil_Italia)
Tab1

Editando com o que já sabemos

tab1 <- flextable( letalidade_Brasil_Italia) %>% 
  autofit() %>% 
  align(align="r", part="all") %>% 
  align(align="c", j=c(1,2),  part="all") %>% 
  bold(part="header") %>% 
  bold(j=c(1,2)) %>% 
  bg(bg="lightgrey", j=c(1,2), part="all") %>% 
  hline(i=c(2,4,6)) %>% 
  vline(j=2)
  
tab1

Tab2

Título e cabeçalho

  • set_header_labels()
tab1 %>% 
  set_header_labels( 
  Country="País", 
  letalidade_media="Letalidade Média Diária",
  desvio_padrao="Desvio Padrão",
  Casos_maximo="Máximo de casos em 24h", 
  Obitos_maximo="Máximo de óbitos em 24h")

Tab4

  • Quebrar a linha onde eu desejar: “\n”
tab2 <- tab1 %>% 
  set_header_labels( 
  Country="País", 
  letalidade_media="Letalidade Média Diária",
  desvio_padrao="Desvio\n Padrão",
  Casos_maximo="Máximo de casos em 24h", 
  Obitos_maximo="Máximo de óbitos em 24h")
 
tab2

Tab4

Cabeçalho Extra

  • add_header_row()
tab3 <- tab2 %>% 
  add_header_row(values = c("Tempo/Lugar", "Indicadores"),
                 colwidths = c(2,4))

tab3

Tab4

Título

  • set_caption
  • Cabeçalho YAML
    • output: officedown::rdocx_document
run_num <- run_autonum(seq_id = "tab", pre_label = "Tabela", 
                       post_label=". ", bkm = "anytable")

tab3 %>% 
set_caption("Título da tabela",
            autonum=run_num ) 

Fonte

  • A fonte deve estar instalada no seu computador!
tab3 %>% font(part = "all", fontname = "Verdana")

Tab4

  • Com uma fonte nova
tab3 %>% font(part = "all", fontname = "Poppins")

Tab4

Até mais, pessoal!